// 后台脚本 - Manifest V3 兼容版本
console.log('HTML文本提取器后台脚本已加载');

chrome.runtime.onInstalled.addListener(() => {
    console.log('HTML文本提取器已安装');
    // 设置默认状态为禁用
    chrome.storage.local.set({extensionEnabled: false});
});

// 监听来自popup的消息
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
    console.log('收到消息:', request);
    
    if (request.action === "getHTML") {
        chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
            if (tabs && tabs.length > 0) {
                const tab = tabs[0];
                chrome.tabs.sendMessage(tab.id, {action: "getHTML"}, (response) => {
                    if (response && response.html) {
                        console.log('获取到HTML内容，长度:', response.html.length);
                        sendResponse(response);
                    } else {
                        sendResponse({success: false, error: '无法获取HTML内容'});
                    }
                });
            } else {
                sendResponse({success: false, error: '无法获取当前标签页'});
            }
        });
        return true; // 保持消息通道开放
    }
});

// 监听标签页更新，确保新标签页也能正确显示悬浮H字母
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
    if (changeInfo.status === 'complete' && tab.url && !tab.url.startsWith('chrome://') && !tab.url.startsWith('chrome-extension://')) {
        // 检查扩展是否启用
        chrome.storage.local.get(['extensionEnabled'], (data) => {
            if (data.extensionEnabled) {
                // 延迟一点时间确保页面完全加载
                setTimeout(() => {
                    chrome.tabs.sendMessage(tabId, {
                        action: 'toggleExtension',
                        enabled: true
                    }).catch(() => {
                        // 忽略无法发送消息的标签页
                    });
                }, 500);
            }
        });
    }
});